DynamoDB তে Transactional Reads এবং Writes এমন একটি ক্ষমতা যা আপনাকে একাধিক রেকর্ড (Items) একত্রে, সম্পূর্ণভাবে এবং সঠিকভাবে আপডেট, রিড, বা ডিলিট করতে সক্ষম করে। এটি অ্যাপ্লিকেশনগুলির জন্য গুরুত্বপূর্ণ যখন ACID (Atomicity, Consistency, Isolation, Durability) ট্রানজেকশন নিশ্চিত করা প্রয়োজন, বিশেষত একাধিক ডেটা পয়েন্ট বা রেকর্ডের পরিবর্তন একযোগে সম্পাদন করার সময়।
Transactional Reads এবং Writes এর মাধ্যমে আপনি ডেটার ইন্টিগ্রিটি বজায় রাখতে পারেন এবং একটি ট্রানজেকশন অপারেশনের সবগুলো রিড বা রাইট অ্যাকশন একযোগে সফলভাবে সম্পন্ন করতে পারেন অথবা ব্যর্থ হলে সমস্ত পরিবর্তন বাতিল করতে পারেন।
Transactional Reads ব্যবহারের মাধ্যমে আপনি একটি বা একাধিক আইটেম (Items) পড়তে পারেন যা একযোগে ট্রানজেকশনের অংশ হবে। এর মাধ্যমে আপনি নিশ্চিত হতে পারেন যে সমস্ত রিড অপারেশন একত্রে সফল হয়েছে বা যদি কিছু কারণে অপারেশন ব্যর্থ হয়, তবে কোন পরিবর্তন ঘটবে না।
UserID
এবং OrderID
দিয়ে চিহ্নিত করা হয়েছে।API কল:
aws dynamodb transact-get-items \
--transact-items '[
{
"Get": {
"TableName": "Users",
"Key": { "UserID": { "S": "user123" } }
}
},
{
"Get": {
"TableName": "Orders",
"Key": { "OrderID": { "S": "order567" } }
}
}
]'
Transactional Writes এর মাধ্যমে একাধিক আইটেম একযোগে আপডেট বা ইন্সার্ট করা যায়, যেটি ACID প্রিন্সিপলে কাজ করে। যদি এক বা একাধিক রেকর্ডে কোনো সমস্যা থাকে (যেমন নির্দিষ্ট আইটেম পাওয়া না গেলে বা ব্যতিক্রম ঘটলে), তখন সমস্ত রাইট অপারেশনই বাতিল হয়ে যাবে। এর ফলে ডেটা ইনকনসিস্টেন্সি বা আংশিক আপডেট থেকে রক্ষা পাওয়া যায়।
Users
এবং একটি Orders
) একযোগে রেকর্ড ইনসার্ট করতে হবে।API কল:
aws dynamodb transact-write-items \
--transact-items '[
{
"Put": {
"TableName": "Users",
"Item": {
"UserID": { "S": "user123" },
"Name": { "S": "John Doe" }
}
}
},
{
"Put": {
"TableName": "Orders",
"Item": {
"OrderID": { "S": "order567" },
"UserID": { "S": "user123" },
"Amount": { "N": "150" }
}
}
}
]'
Put
অপারেশন একযোগে ট্রানজেকশন আকারে কার্যকর করবে। যদি একটি অপারেশন ব্যর্থ হয় (যেমন Users
টেবিলের ইনসার্ট), তবে Orders
টেবিলের ইনসার্টও বাতিল হবে। অর্থাৎ, একসাথে উভয় অপারেশনই সফল হতে হবে।DynamoDB Transactions ACID গুণাবলী নিশ্চিত করে:
DynamoDB এ ট্রানজেকশনাল অপারেশন করার জন্য দুটি প্রধান API রয়েছে:
TransactGetItems
: একাধিক আইটেম পড়ার জন্য ব্যবহৃত।TransactWriteItems
: একাধিক আইটেম লিখতে বা আপডেট করতে ব্যবহৃত।এই API গুলি একাধিক রেকর্ডের উপর পার্টিশন বা সোর্ট কী নির্ভর করে এবং একযোগে ট্রানজেকশন পরিচালনা করতে সক্ষম।
Transactional Reads এবং Writes ব্যবহার করলে আপনি DynamoDB তে ডেটা পরিচালনায় একটি উচ্চমানের সুরক্ষা এবং ইন্টিগ্রিটি বজায় রাখতে পারবেন। একাধিক রেকর্ডের উপর একযোগে অপারেশন পরিচালনার জন্য এটি একটি শক্তিশালী সমাধান, বিশেষ করে যখন অ্যাপ্লিকেশনের জন্য ডেটা সঠিকতা অত্যন্ত গুরুত্বপূর্ণ।
common.read_more